home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Arsenal
/
OS2 Arsenal v1.0 (Disc 1)(Arsenal Computer).ISO
/
os2_drvr
/
wdc24t.dsk
/
FIX_OS2_T4700CS.PMI
< prev
next >
Wrap
Text File
|
1994-04-27
|
47KB
|
1,921 lines
/*
* OS/2 2.1 SVGA PMI-File Generator
*/
[AdapterType]
WESTERNDIGITAL
[ChipSet]
WD90C24
/*
* Lock Extended Registers
*/
/*
* This section locks adapter and chip
* AS MUCH as BIOS does and NOT MORE!
* In other words, it restores the NORMAL lock state.
*/
[Lock]
outb(0x3c4, 0x35);
outb(0x3c5, 0x00);
outb(0x3c4, 0x06);
outb(0x3c5, 0x48);
outb(0x3b4, 0x35);
outb(0x3b5, 0xff);
outb(0x3d4, 0x35);
outb(0x3d5, 0x40);
outb(0x3b4, 0x34);
outb(0x3b5, 0xff);
outb(0x3d4, 0x34);
outb(0x3d5, 0x30);
outb(0x3b4, 0x29);
outb(0x3b5, 0xff);
outb(0x3d4, 0x29);
outb(0x3d5, 0xd5);
outb(0x3b4, 0x27);
outb(0x3b5, 0xff);
outb(0x3b4, 0x29);
outb(0x3b5, 0xff);
outb(0x3d4, 0x27);
outb(0x3d5, 0x00);
outb(0x3d4, 0x29);
outb(0x3d5, 0xff);
outb(0x3ce, 0x0f);
outb(0x3cf, 0x00);
/*
* Unlock Extended Registers
*/
[UnLock]
outb(0x3ce, 0x0f);
outb(0x3cf, 0x05);
outb(0x3d4, 0x29);
outb(0x3d5, 0xd5);
outb(0x3d4, 0x27);
outb(0x3d5, 0x80);
outb(0x3b4, 0x29);
outb(0x3b5, 0xd5);
outb(0x3b4, 0x27);
outb(0x3b5, 0x80);
outb(0x3d4, 0x29);
outb(0x3d5, 0xa5);
outb(0x3b4, 0x29);
outb(0x3b5, 0xa5);
outb(0x3d4, 0x34);
outb(0x3d5, 0xa6);
outb(0x3b4, 0x34);
outb(0x3b5, 0xa6);
outb(0x3d4, 0x35);
outb(0x3d5, 0x30);
outb(0x3b4, 0x35);
outb(0x3b5, 0x30);
outb(0x3c4, 0x06);
outb(0x3c5, 0x48);
outb(0x3c4, 0x35);
outb(0x3c5, 0x50);
[Cleanup]
rmwb(0x3ce, 0x3cf, 0x0c, 0xe7, 0x00);
rmwb(0x3ce, 0x3cf, 0x0e, 0x00, 0x00);
rmwb(0x3ce, 0x3cf, 0x09, 0x00, 0x00);
rmwb(0x3d4, 0x3d5, 0x2d, 0x00, 0x00);
rmwb(0x3d4, 0x3d5, 0x2e, 0x00, 0x00);
rmwb(0x3d4, 0x3d5, 0x2f, 0x00, 0x42);
rmwb(0x3c4, 0x3c5, 0x12, 0x00, 0x00);
[comment]
Text Mode: 40 cols, 25 rows.
[ModeInfo]
ModeAttributes = 0x08
BytesPerScanLine = 40
XResolution = 360
YResolution = 400
XCharSize = 9
YCharSize = 16
TextRows = 25
BitsPerPixel = 4
NumberOfPlanes = 1
PageLength = 4000
SaveSize = 4000
TotalMemory = 1048576
InterlaceMode = 0
BufferAddress = 0x0b8000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04, 0x06-0x09, 0x10-0x12, 0x20-0x29, 0x31-0x36;
0x3c5;
0x3d4, 0x00-0x18, 0x27-0x27, 0x29-0x2f, 0x31-0x3f;
0x3d5;
0x3c0, 0x00-0x13;
0x3c1;
0x3ce, 0x00-0x13, 0x15-0x16;
0x3cf;
0x23c0;
0x23c2;
0x23c8;
0x23ca;
0x23cc;
0x3b4;
0x3b5;
[SetMode]
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x63);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x08; r2 = 0x03; r3 = 0x00; r4 = 0x02;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
r7 = 0x09; r8 = 0x00; r9 = 0x00;
boutb(3, 0x07, 0x3c4, 0x3c5);
r16 = 0xc1; r17 = 0x65; r18 = 0x00;
boutb(3, 0x10, 0x3c4, 0x3c5);
r32 = 0x00;
boutb(1, 0x20, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x21, 0x07, 0x00);
r34 = 0x00; r35 = 0x00; r36 = 0xa0; r37 = 0x00; r38 = 0x00;
r39 = 0x00; r40 = 0x00;
boutb(7, 0x22, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x29, 0x04, 0x00);
rmwb(0x3c4, 0x3c5, 0x31, 0x00, 0x04);
rmwb(0x3c4, 0x3c5, 0x32, 0xff, 0x00);
r51 = 0x00; r52 = 0x00;
boutb(2, 0x33, 0x3c4, 0x3c5);
r54 = 0x00;
boutb(1, 0x36, 0x3c4, 0x3c5);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x60; r1 = 0x27; r2 = 0x50; r3 = 0x82; r4 = 0x55;
r5 = 0x81; r6 = 0x14; r7 = 0x3e; r8 = 0x00; r9 = 0x4f;
r10 = 0x0d; r11 = 0x0e; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0xea; r17 = 0x8b; r18 = 0x8f; r19 = 0x14;
r20 = 0x1f; r21 = 0xe7; r22 = 0x04; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x2a, 0x05, 0x90);
rmwb(0x3d4, 0x3d5, 0x2b, 0xff, 0x00);
r44 = 0x00; r45 = 0x00; r46 = 0x00; r47 = 0x42;
boutb(4, 0x2c, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x31, 0x87, 0x00);
rmwb(0x3d4, 0x3d5, 0x32, 0x30, 0x44);
rmwb(0x3d4, 0x3d5, 0x33, 0x60, 0x01);
r54 = 0x00; r55 = 0x00; r56 = 0x00; r57 = 0x00;
boutb(4, 0x36, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3a, 0x02, 0x80);
r59 = 0xef; r60 = 0x9a; r61 = 0x00;
boutb(3, 0x3b, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3e, 0x27, 0x00);
r63 = 0x00;
boutb(1, 0x3f, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x0c; r17 = 0x00; r18 = 0x0f; r19 = 0x08;
boutb(20, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x10; r6 = 0x0e; r7 = 0x00; r8 = 0xff; r9 = 0x00;
r10 = 0x00;
boutb(11, 0x00, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0b, 0x40, 0x85);
rmwb(0x3ce, 0x3cf, 0x0c, 0x01, 0x00);
r13 = 0x00;
boutb(1, 0x0d, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0e, 0x60, 0x00);
r16 = 0x00; r17 = 0x00; r18 = 0x00; r19 = 0x00;
boutb(4, 0x10, 0x3ce, 0x3cf);
r21 = 0x10; r22 = 0x0e;
boutb(2, 0x15, 0x3ce, 0x3cf);
outw(0x23c0, 0x2000);
wait(0x23c2, 0x0800, 0x1, 0x64, 0x0);
outw(0x23c0, 0x0000);
/*
* Set Other Registers
*/
outw(0x23c2, 0x0000);
outw(0x23c0, 0x0001);
outw(0x23c2, 0x0000);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x410a);
outw(0x23c2, 0x519e);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c2, 0x9000);
outw(0x23c2, 0xa000);
outw(0x23c2, 0xb000);
outw(0x23c2, 0xc000);
outw(0x23c2, 0xd000);
outw(0x23c2, 0xe000);
outw(0x23c0, 0x0102);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x4000);
outw(0x23c2, 0x5000);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c0, 0x0002);
outw(0x23c2, 0x0000);
outw(0x23c8, 0x0000);
outw(0x23ca, 0x0000);
outw(0x23cc, 0x0000);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x67);
[comment]
Text Mode: 80 cols, 25 rows.
[ModeInfo]
ModeAttributes = 0x08
BytesPerScanLine = 80
XResolution = 720
YResolution = 400
XCharSize = 9
YCharSize = 16
TextRows = 25
BitsPerPixel = 4
NumberOfPlanes = 1
PageLength = 4000
SaveSize = 4000
TotalMemory = 1048576
InterlaceMode = 0
BufferAddress = 0x0b8000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04, 0x06-0x09, 0x10-0x12, 0x20-0x29, 0x31-0x36;
0x3c5;
0x3d4, 0x00-0x18, 0x27-0x27, 0x29-0x2f, 0x31-0x3f;
0x3d5;
0x3c0, 0x00-0x13;
0x3c1;
0x3ce, 0x00-0x13, 0x15-0x16;
0x3cf;
0x23c0;
0x23c2;
0x23c8;
0x23ca;
0x23cc;
0x3b4;
0x3b5;
[SetMode]
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x63);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x03; r3 = 0x00; r4 = 0x02;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
r7 = 0x09; r8 = 0x00; r9 = 0x00;
boutb(3, 0x07, 0x3c4, 0x3c5);
r16 = 0xc1; r17 = 0x65; r18 = 0x00;
boutb(3, 0x10, 0x3c4, 0x3c5);
r32 = 0x00;
boutb(1, 0x20, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x21, 0x07, 0x00);
r34 = 0x00; r35 = 0x00; r36 = 0xa0; r37 = 0x00; r38 = 0x00;
r39 = 0x00; r40 = 0x00;
boutb(7, 0x22, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x29, 0x04, 0x00);
rmwb(0x3c4, 0x3c5, 0x31, 0x00, 0x0c);
rmwb(0x3c4, 0x3c5, 0x32, 0xff, 0x00);
r51 = 0x00; r52 = 0x00;
boutb(2, 0x33, 0x3c4, 0x3c5);
r54 = 0x00;
boutb(1, 0x36, 0x3c4, 0x3c5);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x60; r1 = 0x4f; r2 = 0x50; r3 = 0x82; r4 = 0x55;
r5 = 0x81; r6 = 0x14; r7 = 0x3e; r8 = 0x00; r9 = 0x4f;
r10 = 0x0d; r11 = 0x0e; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0xea; r17 = 0x8b; r18 = 0x8f; r19 = 0x28;
r20 = 0x1f; r21 = 0xe7; r22 = 0x04; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x2a, 0x05, 0x90);
rmwb(0x3d4, 0x3d5, 0x2b, 0xff, 0x00);
r44 = 0x00; r45 = 0x00; r46 = 0x00; r47 = 0x42;
boutb(4, 0x2c, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x31, 0x87, 0x00);
rmwb(0x3d4, 0x3d5, 0x32, 0x30, 0x44);
rmwb(0x3d4, 0x3d5, 0x33, 0x60, 0x01);
r54 = 0x00; r55 = 0x00; r56 = 0x00; r57 = 0x00;
boutb(4, 0x36, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3a, 0x02, 0x80);
r59 = 0xef; r60 = 0x9a; r61 = 0x00;
boutb(3, 0x3b, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3e, 0x27, 0x00);
r63 = 0x00;
boutb(1, 0x3f, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x0c; r17 = 0x00; r18 = 0x0f; r19 = 0x08;
boutb(20, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x10; r6 = 0x0e; r7 = 0x00; r8 = 0xff; r9 = 0x00;
r10 = 0x00;
boutb(11, 0x00, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0b, 0x40, 0x85);
rmwb(0x3ce, 0x3cf, 0x0c, 0x01, 0x00);
r13 = 0x00;
boutb(1, 0x0d, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0e, 0x60, 0x00);
r16 = 0x00; r17 = 0x00; r18 = 0x00; r19 = 0x00;
boutb(4, 0x10, 0x3ce, 0x3cf);
r21 = 0x10; r22 = 0x0e;
boutb(2, 0x15, 0x3ce, 0x3cf);
outw(0x23c0, 0x2000);
wait(0x23c2, 0x0800, 0x1, 0x64, 0x0);
outw(0x23c0, 0x0000);
/*
* Set Other Registers
*/
outw(0x23c2, 0x0000);
outw(0x23c0, 0x0001);
outw(0x23c2, 0x0000);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x410a);
outw(0x23c2, 0x519e);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c2, 0x9000);
outw(0x23c2, 0xa000);
outw(0x23c2, 0xb000);
outw(0x23c2, 0xc000);
outw(0x23c2, 0xd000);
outw(0x23c2, 0xe000);
outw(0x23c0, 0x0102);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x4000);
outw(0x23c2, 0x5000);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c0, 0x0002);
outw(0x23c2, 0x0000);
outw(0x23c8, 0x0000);
outw(0x23ca, 0x0000);
outw(0x23cc, 0x0000);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x67);
[comment]
Graphics Mode: 640 x 480 x 16 colors.
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 80
XResolution = 640
YResolution = 480
TextRows = 24
BitsPerPixel = 4
NumberOfPlanes = 4
PageLength = 38400
SaveSize = 153600
TotalMemory = 1048576
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04, 0x06-0x09, 0x10-0x12, 0x20-0x29, 0x31-0x36;
0x3c5;
0x3d4, 0x00-0x18, 0x27-0x27, 0x29-0x2f, 0x31-0x3f;
0x3d5;
0x3c0, 0x00-0x13;
0x3c1;
0x3ce, 0x00-0x13, 0x15-0x16;
0x3cf;
0x23c0;
0x23c2;
0x23c8;
0x23ca;
0x23cc;
0x3b4;
0x3b5;
[SetMode]
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xe3);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x06;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
r7 = 0x09; r8 = 0x00; r9 = 0x00;
boutb(3, 0x07, 0x3c4, 0x3c5);
r16 = 0xc1; r17 = 0x65; r18 = 0x00;
boutb(3, 0x10, 0x3c4, 0x3c5);
r32 = 0x00;
boutb(1, 0x20, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x21, 0x07, 0x00);
r34 = 0x00; r35 = 0x00; r36 = 0xa0; r37 = 0x00; r38 = 0x00;
r39 = 0x00; r40 = 0x00;
boutb(7, 0x22, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x29, 0x04, 0x00);
rmwb(0x3c4, 0x3c5, 0x31, 0x00, 0x0c);
rmwb(0x3c4, 0x3c5, 0x32, 0xff, 0x00);
r51 = 0x00; r52 = 0x00;
boutb(2, 0x33, 0x3c4, 0x3c5);
r54 = 0x00;
boutb(1, 0x36, 0x3c4, 0x3c5);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x60; r1 = 0x4f; r2 = 0x50; r3 = 0x82; r4 = 0x55;
r5 = 0x81; r6 = 0x14; r7 = 0x3e; r8 = 0x00; r9 = 0x40;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0xea; r17 = 0x8b; r18 = 0xdf; r19 = 0x28;
r20 = 0x00; r21 = 0xe7; r22 = 0x04; r23 = 0xe3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x2a, 0x05, 0x90);
rmwb(0x3d4, 0x3d5, 0x2b, 0xff, 0x00);
r44 = 0x00; r45 = 0x00; r46 = 0x00; r47 = 0x42;
boutb(4, 0x2c, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x31, 0x87, 0x00);
rmwb(0x3d4, 0x3d5, 0x32, 0x30, 0x44);
rmwb(0x3d4, 0x3d5, 0x33, 0x60, 0x01);
r54 = 0x00; r55 = 0x00; r56 = 0x00; r57 = 0x00;
boutb(4, 0x36, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3a, 0x02, 0x80);
r59 = 0xef; r60 = 0x9a; r61 = 0x00;
boutb(3, 0x3b, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3e, 0x27, 0x00);
r63 = 0x00;
boutb(1, 0x3f, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x01; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
boutb(20, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x00; r6 = 0x05; r7 = 0x0f; r8 = 0xff; r9 = 0x00;
r10 = 0x00;
boutb(11, 0x00, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0b, 0x40, 0x85);
rmwb(0x3ce, 0x3cf, 0x0c, 0x01, 0x00);
r13 = 0x00;
boutb(1, 0x0d, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0e, 0x20, 0x40);
r16 = 0x00; r17 = 0x00; r18 = 0x00; r19 = 0x00;
boutb(4, 0x10, 0x3ce, 0x3cf);
r21 = 0x00; r22 = 0x05;
boutb(2, 0x15, 0x3ce, 0x3cf);
outw(0x23c0, 0x2000);
wait(0x23c2, 0x0800, 0x1, 0x64, 0x0);
outw(0x23c0, 0x0000);
/*
* Set Other Registers
*/
outw(0x23c2, 0x0000);
outw(0x23c0, 0x0001);
outw(0x23c2, 0x0000);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x410a);
outw(0x23c2, 0x519e);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c2, 0x9000);
outw(0x23c2, 0xa000);
outw(0x23c2, 0xb000);
outw(0x23c2, 0xc000);
outw(0x23c2, 0xd000);
outw(0x23c2, 0xe000);
outw(0x23c0, 0x0102);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x4000);
outw(0x23c2, 0x5000);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c0, 0x0002);
outw(0x23c2, 0x0000);
outw(0x23c8, 0x0000);
outw(0x23ca, 0x0000);
outw(0x23cc, 0x0000);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xe3);
[comment]
Graphics Mode: 640 x 480 x 256 colors.
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 80
XResolution = 640
YResolution = 480
TextRows = 30
BitsPerPixel = 8
NumberOfPlanes = 1
PageLength = 307200
SaveSize = 307200
TotalMemory = 1048576
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04, 0x06-0x09, 0x10-0x12, 0x20-0x29, 0x31-0x36;
0x3c5;
0x3d4, 0x00-0x18, 0x27-0x27, 0x29-0x2f, 0x31-0x3f;
0x3d5;
0x3c0, 0x00-0x13;
0x3c1;
0x3ce, 0x00-0x13, 0x15-0x16;
0x3cf;
0x23c0;
0x23c2;
0x23c8;
0x23ca;
0x23cc;
0x3b4;
0x3b5;
[SetMode]
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xe3);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
r7 = 0x09; r8 = 0x00; r9 = 0x00;
boutb(3, 0x07, 0x3c4, 0x3c5);
r16 = 0xc1; r17 = 0x65; r18 = 0x00;
boutb(3, 0x10, 0x3c4, 0x3c5);
r32 = 0x00;
boutb(1, 0x20, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x21, 0x07, 0x00);
r34 = 0x00; r35 = 0x00; r36 = 0xa0; r37 = 0x00; r38 = 0x00;
r39 = 0x00; r40 = 0x00;
boutb(7, 0x22, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x29, 0x04, 0x00);
rmwb(0x3c4, 0x3c5, 0x31, 0x00, 0x0c);
rmwb(0x3c4, 0x3c5, 0x32, 0xff, 0x00);
r51 = 0x00; r52 = 0x00;
boutb(2, 0x33, 0x3c4, 0x3c5);
r54 = 0x00;
boutb(1, 0x36, 0x3c4, 0x3c5);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x60; r1 = 0x4f; r2 = 0x50; r3 = 0x82; r4 = 0x55;
r5 = 0x81; r6 = 0x14; r7 = 0x3e; r8 = 0x00; r9 = 0x40;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0xea; r17 = 0x8b; r18 = 0xdf; r19 = 0x50;
r20 = 0x40; r21 = 0xe7; r22 = 0x04; r23 = 0xe3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x2a, 0x05, 0x90);
rmwb(0x3d4, 0x3d5, 0x2b, 0xff, 0x00);
r44 = 0x00; r45 = 0x00; r46 = 0x00; r47 = 0x20;
boutb(4, 0x2c, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x31, 0x87, 0x00);
rmwb(0x3d4, 0x3d5, 0x32, 0x30, 0x44);
rmwb(0x3d4, 0x3d5, 0x33, 0x60, 0x01);
r54 = 0x00; r55 = 0x00; r56 = 0x00; r57 = 0x00;
boutb(4, 0x36, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3a, 0x02, 0x80);
r59 = 0xef; r60 = 0x9a; r61 = 0x00;
boutb(3, 0x3b, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3e, 0x27, 0x00);
r63 = 0x00;
boutb(1, 0x3f, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x06; r7 = 0x07; r8 = 0x08; r9 = 0x09;
r10 = 0x0a; r11 = 0x0b; r12 = 0x0c; r13 = 0x0d; r14 = 0x0e;
r15 = 0x0f; r16 = 0x41; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
boutb(20, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x40; r6 = 0x05; r7 = 0x0f; r8 = 0xff; r9 = 0x00;
r10 = 0x00;
boutb(11, 0x00, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0b, 0x40, 0x85);
rmwb(0x3ce, 0x3cf, 0x0c, 0x01, 0x00);
r13 = 0x00;
boutb(1, 0x0d, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0e, 0x20, 0x41);
r16 = 0x00; r17 = 0x00; r18 = 0x00; r19 = 0x00;
boutb(4, 0x10, 0x3ce, 0x3cf);
r21 = 0x40; r22 = 0x05;
boutb(2, 0x15, 0x3ce, 0x3cf);
outw(0x23c0, 0x2000);
wait(0x23c2, 0x0800, 0x1, 0x64, 0x0);
outw(0x23c0, 0x0000);
/*
* Set Other Registers
*/
outw(0x23c2, 0x0000);
outw(0x23c0, 0x0001);
outw(0x23c2, 0x0000);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x410a);
outw(0x23c2, 0x519e);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c2, 0x9000);
outw(0x23c2, 0xa000);
outw(0x23c2, 0xb000);
outw(0x23c2, 0xc000);
outw(0x23c2, 0xd000);
outw(0x23c2, 0xe000);
outw(0x23c0, 0x0102);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x4000);
outw(0x23c2, 0x5000);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c0, 0x0002);
outw(0x23c2, 0x0000);
outw(0x23c8, 0x0000);
outw(0x23ca, 0x0000);
outw(0x23cc, 0x0000);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xe3);
[comment]
Graphics Mode: 800 x 600 x 16 colors.
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 100
XResolution = 800
YResolution = 600
TextRows = 37
BitsPerPixel = 4
NumberOfPlanes = 4
PageLength = 60000
SaveSize = 240000
TotalMemory = 1048576
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04, 0x06-0x09, 0x10-0x12, 0x20-0x29, 0x31-0x36;
0x3c5;
0x3d4, 0x00-0x18, 0x27-0x27, 0x29-0x2f, 0x31-0x3f;
0x3d5;
0x3c0, 0x00-0x13;
0x3c1;
0x3ce, 0x00-0x13, 0x15-0x16;
0x3cf;
0x23c0;
0x23c2;
0x23c8;
0x23ca;
0x23cc;
0x3b4;
0x3b5;
[SetMode]
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xe3);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x06;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
r7 = 0x09; r8 = 0x00; r9 = 0x00;
boutb(3, 0x07, 0x3c4, 0x3c5);
r16 = 0xc1; r17 = 0x65; r18 = 0x00;
boutb(3, 0x10, 0x3c4, 0x3c5);
r32 = 0x00;
boutb(1, 0x20, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x21, 0x07, 0x00);
r34 = 0x00; r35 = 0x00; r36 = 0xa0; r37 = 0x00; r38 = 0x00;
r39 = 0x00; r40 = 0x00;
boutb(7, 0x22, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x29, 0x04, 0x00);
rmwb(0x3c4, 0x3c5, 0x31, 0x00, 0x0c);
rmwb(0x3c4, 0x3c5, 0x32, 0xff, 0x00);
r51 = 0x00; r52 = 0x00;
boutb(2, 0x33, 0x3c4, 0x3c5);
r54 = 0x00;
boutb(1, 0x36, 0x3c4, 0x3c5);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x7b; r1 = 0x63; r2 = 0x64; r3 = 0x9e; r4 = 0x69;
r5 = 0x92; r6 = 0x6f; r7 = 0xf0; r8 = 0x00; r9 = 0x60;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0x58; r17 = 0x8a; r18 = 0x57; r19 = 0x32;
r20 = 0x00; r21 = 0x58; r22 = 0x6f; r23 = 0xe3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x2a, 0x05, 0x90);
rmwb(0x3d4, 0x3d5, 0x2b, 0xff, 0x00);
r44 = 0x00; r45 = 0x00; r46 = 0x00; r47 = 0x00;
boutb(4, 0x2c, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x31, 0x87, 0x00);
rmwb(0x3d4, 0x3d5, 0x32, 0x30, 0x44);
rmwb(0x3d4, 0x3d5, 0x33, 0x60, 0x01);
r54 = 0x00; r55 = 0x00; r56 = 0x00; r57 = 0x00;
boutb(4, 0x36, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3a, 0x02, 0x80);
r59 = 0xef; r60 = 0x9a; r61 = 0x00;
boutb(3, 0x3b, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3e, 0x27, 0x00);
r63 = 0x00;
boutb(1, 0x3f, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x01; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
boutb(20, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x00; r6 = 0x05; r7 = 0x0f; r8 = 0xff; r9 = 0x00;
r10 = 0x00;
boutb(11, 0x00, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0b, 0x40, 0x85);
rmwb(0x3ce, 0x3cf, 0x0c, 0x01, 0x00);
r13 = 0x00;
boutb(1, 0x0d, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0e, 0x60, 0x00);
r16 = 0x00; r17 = 0x00; r18 = 0x00; r19 = 0x00;
boutb(4, 0x10, 0x3ce, 0x3cf);
r21 = 0x00; r22 = 0x05;
boutb(2, 0x15, 0x3ce, 0x3cf);
outw(0x23c0, 0x2000);
wait(0x23c2, 0x0800, 0x1, 0x64, 0x0);
outw(0x23c0, 0x0000);
/*
* Set Other Registers
*/
outw(0x23c2, 0x0000);
outw(0x23c0, 0x0001);
outw(0x23c2, 0x0000);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x410a);
outw(0x23c2, 0x519e);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c2, 0x9000);
outw(0x23c2, 0xa000);
outw(0x23c2, 0xb000);
outw(0x23c2, 0xc000);
outw(0x23c2, 0xd000);
outw(0x23c2, 0xe000);
outw(0x23c0, 0x0102);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x4000);
outw(0x23c2, 0x5000);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c0, 0x0002);
outw(0x23c2, 0x0000);
outw(0x23c8, 0x0000);
outw(0x23ca, 0x0000);
outw(0x23cc, 0x0000);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xef);
[comment]
Graphics Mode: 800 x 600 x 256 colors.
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 100
XResolution = 800
YResolution = 600
TextRows = 37
BitsPerPixel = 8
NumberOfPlanes = 1
PageLength = 480000
SaveSize = 480000
TotalMemory = 1048576
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04, 0x06-0x09, 0x10-0x12, 0x20-0x29, 0x31-0x36;
0x3c5;
0x3d4, 0x00-0x18, 0x27-0x27, 0x29-0x2f, 0x31-0x3f;
0x3d5;
0x3c0, 0x00-0x13;
0x3c1;
0x3ce, 0x00-0x13, 0x15-0x16;
0x3cf;
0x23c0;
0x23c2;
0x23c8;
0x23ca;
0x23cc;
0x3b4;
0x3b5;
[SetMode]
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xe3);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x03; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
r7 = 0x09; r8 = 0x00; r9 = 0x00;
boutb(3, 0x07, 0x3c4, 0x3c5);
r16 = 0xc1; r17 = 0x65; r18 = 0x00;
boutb(3, 0x10, 0x3c4, 0x3c5);
r32 = 0x00;
boutb(1, 0x20, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x21, 0x07, 0x00);
r34 = 0x00; r35 = 0x00; r36 = 0xa0; r37 = 0x00; r38 = 0x00;
r39 = 0x00; r40 = 0x00;
boutb(7, 0x22, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x29, 0x04, 0x00);
rmwb(0x3c4, 0x3c5, 0x31, 0x00, 0x0c);
rmwb(0x3c4, 0x3c5, 0x32, 0xff, 0x00);
r51 = 0x00; r52 = 0x00;
boutb(2, 0x33, 0x3c4, 0x3c5);
r54 = 0x00;
boutb(1, 0x36, 0x3c4, 0x3c5);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x7b; r1 = 0x63; r2 = 0x64; r3 = 0x9e; r4 = 0x69;
r5 = 0x92; r6 = 0x6f; r7 = 0xf0; r8 = 0x00; r9 = 0x60;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0x58; r17 = 0x8a; r18 = 0x57; r19 = 0x64;
r20 = 0x40; r21 = 0x58; r22 = 0x6f; r23 = 0xe3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x2a, 0x05, 0x90);
rmwb(0x3d4, 0x3d5, 0x2b, 0xff, 0x00);
r44 = 0x00; r45 = 0x00; r46 = 0x00; r47 = 0x00;
boutb(4, 0x2c, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x31, 0x87, 0x00);
rmwb(0x3d4, 0x3d5, 0x32, 0x30, 0x44);
rmwb(0x3d4, 0x3d5, 0x33, 0x60, 0x01);
r54 = 0x00; r55 = 0x00; r56 = 0x00; r57 = 0x00;
boutb(4, 0x36, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3a, 0x02, 0x80);
r59 = 0xef; r60 = 0x9a; r61 = 0x00;
boutb(3, 0x3b, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3e, 0x27, 0x00);
r63 = 0x00;
boutb(1, 0x3f, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x06; r7 = 0x07; r8 = 0x08; r9 = 0x09;
r10 = 0x0a; r11 = 0x0b; r12 = 0x0c; r13 = 0x0d; r14 = 0x0e;
r15 = 0x0f; r16 = 0x41; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
boutb(20, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x40; r6 = 0x05; r7 = 0x0f; r8 = 0xff; r9 = 0x00;
r10 = 0x00;
boutb(11, 0x00, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0b, 0x40, 0x85);
rmwb(0x3ce, 0x3cf, 0x0c, 0x01, 0x00);
r13 = 0x00;
boutb(1, 0x0d, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0e, 0x60, 0x01);
r16 = 0x00; r17 = 0x00; r18 = 0x00; r19 = 0x00;
boutb(4, 0x10, 0x3ce, 0x3cf);
r21 = 0x40; r22 = 0x05;
boutb(2, 0x15, 0x3ce, 0x3cf);
outw(0x23c0, 0x2000);
wait(0x23c2, 0x0800, 0x1, 0x64, 0x0);
outw(0x23c0, 0x0000);
/*
* Set Other Registers
*/
outw(0x23c2, 0x0000);
outw(0x23c0, 0x0001);
outw(0x23c2, 0x0000);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x410a);
outw(0x23c2, 0x519e);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c2, 0x9000);
outw(0x23c2, 0xa000);
outw(0x23c2, 0xb000);
outw(0x23c2, 0xc000);
outw(0x23c2, 0xd000);
outw(0x23c2, 0xe000);
outw(0x23c0, 0x0102);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x4000);
outw(0x23c2, 0x5000);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c0, 0x0002);
outw(0x23c2, 0x0000);
outw(0x23c8, 0x0000);
outw(0x23ca, 0x0000);
outw(0x23cc, 0x0000);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xef);
[comment]
Graphics Mode: 1024 x 768 x 16 colors.
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 128
XResolution = 1024
YResolution = 768
TextRows = 48
BitsPerPixel = 4
NumberOfPlanes = 4
PageLength = 98304
SaveSize = 393216
TotalMemory = 1048576
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04, 0x06-0x09, 0x10-0x12, 0x20-0x29, 0x31-0x36;
0x3c5;
0x3d4, 0x00-0x18, 0x27-0x27, 0x29-0x2f, 0x31-0x3f;
0x3d5;
0x3c0, 0x00-0x13;
0x3c1;
0x3ce, 0x00-0x13, 0x15-0x16;
0x3cf;
0x23c0;
0x23c2;
0x23c8;
0x23ca;
0x23cc;
0x3b4;
0x3b5;
[SetMode]
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x23);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x06;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
r7 = 0x09; r8 = 0x00; r9 = 0x00;
boutb(3, 0x07, 0x3c4, 0x3c5);
r16 = 0xc1; r17 = 0x65; r18 = 0x00;
boutb(3, 0x10, 0x3c4, 0x3c5);
r32 = 0x00;
boutb(1, 0x20, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x21, 0x07, 0x00);
r34 = 0x00; r35 = 0x00; r36 = 0xa0; r37 = 0x00; r38 = 0x00;
r39 = 0x00; r40 = 0x00;
boutb(7, 0x22, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x29, 0x04, 0x00);
rmwb(0x3c4, 0x3c5, 0x31, 0x00, 0x14);
rmwb(0x3c4, 0x3c5, 0x32, 0xff, 0x00);
r51 = 0x00; r52 = 0x00;
boutb(2, 0x33, 0x3c4, 0x3c5);
r54 = 0x00;
boutb(1, 0x36, 0x3c4, 0x3c5);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x99; r1 = 0x7f; r2 = 0x7f; r3 = 0x9c; r4 = 0x83;
r5 = 0x19; r6 = 0x97; r7 = 0x1f; r8 = 0x00; r9 = 0x40;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0x7f; r17 = 0x83; r18 = 0x7f; r19 = 0x40;
r20 = 0x00; r21 = 0x7f; r22 = 0x96; r23 = 0xe3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x2a, 0x05, 0x90);
rmwb(0x3d4, 0x3d5, 0x2b, 0xff, 0x00);
r44 = 0x34; r45 = 0x2a; r46 = 0x09; r47 = 0x00;
boutb(4, 0x2c, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x31, 0x87, 0x00);
rmwb(0x3d4, 0x3d5, 0x32, 0x30, 0x44);
rmwb(0x3d4, 0x3d5, 0x33, 0x60, 0x01);
r54 = 0x00; r55 = 0x00; r56 = 0x00; r57 = 0x00;
boutb(4, 0x36, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3a, 0x02, 0x80);
r59 = 0xef; r60 = 0x9a; r61 = 0x00;
boutb(3, 0x3b, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3e, 0x27, 0x00);
r63 = 0x00;
boutb(1, 0x3f, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x01; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
boutb(20, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x00; r6 = 0x05; r7 = 0x0f; r8 = 0xff; r9 = 0x00;
r10 = 0x00;
boutb(11, 0x00, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0b, 0x40, 0x85);
rmwb(0x3ce, 0x3cf, 0x0c, 0x01, 0x00);
r13 = 0x00;
boutb(1, 0x0d, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0e, 0x60, 0x00);
r16 = 0x00; r17 = 0x00; r18 = 0x00; r19 = 0x00;
boutb(4, 0x10, 0x3ce, 0x3cf);
r21 = 0x00; r22 = 0x05;
boutb(2, 0x15, 0x3ce, 0x3cf);
outw(0x23c0, 0x2000);
wait(0x23c2, 0x0800, 0x1, 0x64, 0x0);
outw(0x23c0, 0x0000);
/*
* Set Other Registers
*/
outw(0x23c2, 0x0000);
outw(0x23c0, 0x0001);
outw(0x23c2, 0x0000);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x410a);
outw(0x23c2, 0x519e);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c2, 0x9000);
outw(0x23c2, 0xa000);
outw(0x23c2, 0xb000);
outw(0x23c2, 0xc000);
outw(0x23c2, 0xd000);
outw(0x23c2, 0xe000);
outw(0x23c0, 0x0102);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x4000);
outw(0x23c2, 0x5000);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c0, 0x0002);
outw(0x23c2, 0x0000);
outw(0x23c8, 0x0000);
outw(0x23ca, 0x0000);
outw(0x23cc, 0x0000);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x2f);
[comment]
Graphics Mode: 1024 x 768 x 256 colors.
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 128
XResolution = 1024
YResolution = 768
TextRows = 48
BitsPerPixel = 8
NumberOfPlanes = 1
PageLength = 786432
SaveSize = 786432
TotalMemory = 1048576
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04, 0x06-0x09, 0x10-0x12, 0x20-0x29, 0x31-0x36;
0x3c5;
0x3d4, 0x00-0x18, 0x27-0x27, 0x29-0x2f, 0x31-0x3f;
0x3d5;
0x3c0, 0x00-0x13;
0x3c1;
0x3ce, 0x00-0x13, 0x15-0x16;
0x3cf;
0x23c0;
0x23c2;
0x23c8;
0x23ca;
0x23cc;
0x3b4;
0x3b5;
[SetMode]
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x23);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x03; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
r7 = 0x09; r8 = 0x00; r9 = 0x00;
boutb(3, 0x07, 0x3c4, 0x3c5);
r16 = 0xc1; r17 = 0x65; r18 = 0x00;
boutb(3, 0x10, 0x3c4, 0x3c5);
r32 = 0x00;
boutb(1, 0x20, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x21, 0x07, 0x00);
r34 = 0x00; r35 = 0x00; r36 = 0xa0; r37 = 0x00; r38 = 0x00;
r39 = 0x00; r40 = 0x00;
boutb(7, 0x22, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x29, 0x04, 0x00);
rmwb(0x3c4, 0x3c5, 0x31, 0x00, 0x14);
rmwb(0x3c4, 0x3c5, 0x32, 0xff, 0x00);
r51 = 0x00; r52 = 0x00;
boutb(2, 0x33, 0x3c4, 0x3c5);
r54 = 0x00;
boutb(1, 0x36, 0x3c4, 0x3c5);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x99; r1 = 0x7f; r2 = 0x80; r3 = 0x9c; r4 = 0x81;
r5 = 0x17; r6 = 0x97; r7 = 0x1f; r8 = 0x00; r9 = 0x40;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0x7f; r17 = 0x83; r18 = 0x7f; r19 = 0x80;
r20 = 0x40; r21 = 0x7f; r22 = 0x96; r23 = 0xe3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x2a, 0x05, 0x90);
rmwb(0x3d4, 0x3d5, 0x2b, 0xff, 0x00);
r44 = 0x34; r45 = 0x2a; r46 = 0x49; r47 = 0x00;
boutb(4, 0x2c, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x31, 0x87, 0x00);
rmwb(0x3d4, 0x3d5, 0x32, 0x30, 0x44);
rmwb(0x3d4, 0x3d5, 0x33, 0x60, 0x01);
r54 = 0x00; r55 = 0x00; r56 = 0x00; r57 = 0x00;
boutb(4, 0x36, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3a, 0x02, 0x80);
r59 = 0xef; r60 = 0x9a; r61 = 0x00;
boutb(3, 0x3b, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3e, 0x27, 0x00);
r63 = 0x00;
boutb(1, 0x3f, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x06; r7 = 0x07; r8 = 0x08; r9 = 0x09;
r10 = 0x0a; r11 = 0x0b; r12 = 0x0c; r13 = 0x0d; r14 = 0x0e;
r15 = 0x0f; r16 = 0x41; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
boutb(20, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x40; r6 = 0x05; r7 = 0x0f; r8 = 0xff; r9 = 0x00;
r10 = 0x00;
boutb(11, 0x00, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0b, 0x40, 0x85);
rmwb(0x3ce, 0x3cf, 0x0c, 0x01, 0x00);
r13 = 0x00;
boutb(1, 0x0d, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0e, 0x60, 0x01);
r16 = 0x00; r17 = 0x00; r18 = 0x00; r19 = 0x00;
boutb(4, 0x10, 0x3ce, 0x3cf);
r21 = 0x40; r22 = 0x05;
boutb(2, 0x15, 0x3ce, 0x3cf);
outw(0x23c0, 0x2000);
wait(0x23c2, 0x0800, 0x1, 0x64, 0x0);
outw(0x23c0, 0x0000);
/*
* Set Other Registers
*/
outw(0x23c2, 0x0000);
outw(0x23c0, 0x0001);
outw(0x23c2, 0x0000);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x410a);
outw(0x23c2, 0x519e);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c2, 0x9000);
outw(0x23c2, 0xa000);
outw(0x23c2, 0xb000);
outw(0x23c2, 0xc000);
outw(0x23c2, 0xd000);
outw(0x23c2, 0xe000);
outw(0x23c0, 0x0102);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x4000);
outw(0x23c2, 0x5000);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c0, 0x0002);
outw(0x23c2, 0x0000);
outw(0x23c8, 0x0000);
outw(0x23ca, 0x0000);
outw(0x23cc, 0x0000);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x2f);
[comment]
Text Mode: 132 cols, 25 rows.
[ModeInfo]
ModeAttributes = 0x08
BytesPerScanLine = 132
XResolution = 1188
YResolution = 400
XCharSize = 9
YCharSize = 16
TextRows = 25
BitsPerPixel = 4
NumberOfPlanes = 1
PageLength = 6600
SaveSize = 6600
TotalMemory = 1048576
InterlaceMode = 0
BufferAddress = 0x0b8000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04, 0x06-0x09, 0x10-0x12, 0x20-0x29, 0x31-0x36;
0x3c5;
0x3d4, 0x00-0x18, 0x27-0x27, 0x29-0x2f, 0x31-0x3f;
0x3d5;
0x3c0, 0x00-0x13;
0x3c1;
0x3ce, 0x00-0x13, 0x15-0x16;
0x3cf;
0x23c0;
0x23c2;
0x23c8;
0x23ca;
0x23cc;
0x3b4;
0x3b5;
[SetMode]
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x63);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x03; r3 = 0x00; r4 = 0x02;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
r7 = 0x09; r8 = 0x00; r9 = 0x00;
boutb(3, 0x07, 0x3c4, 0x3c5);
r16 = 0xc1; r17 = 0x65; r18 = 0x00;
boutb(3, 0x10, 0x3c4, 0x3c5);
r32 = 0x00;
boutb(1, 0x20, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x21, 0x07, 0x00);
r34 = 0x00; r35 = 0x00; r36 = 0xa0; r37 = 0x00; r38 = 0x00;
r39 = 0x00; r40 = 0x00;
boutb(7, 0x22, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x29, 0x04, 0x00);
rmwb(0x3c4, 0x3c5, 0x31, 0x00, 0x14);
rmwb(0x3c4, 0x3c5, 0x32, 0xff, 0x00);
r51 = 0x00; r52 = 0x00;
boutb(2, 0x33, 0x3c4, 0x3c5);
r54 = 0x00;
boutb(1, 0x36, 0x3c4, 0x3c5);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x9c; r1 = 0x83; r2 = 0x84; r3 = 0x9f; r4 = 0x8a;
r5 = 0x1c; r6 = 0xbf; r7 = 0x1f; r8 = 0x00; r9 = 0x4f;
r10 = 0x0d; r11 = 0x0e; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0x9c; r17 = 0x8e; r18 = 0x8f; r19 = 0x42;
r20 = 0x1f; r21 = 0x96; r22 = 0xb9; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x2a, 0x05, 0x90);
rmwb(0x3d4, 0x3d5, 0x2b, 0xff, 0x00);
r44 = 0x00; r45 = 0x00; r46 = 0x04; r47 = 0x00;
boutb(4, 0x2c, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x31, 0x87, 0x00);
rmwb(0x3d4, 0x3d5, 0x32, 0x30, 0x44);
rmwb(0x3d4, 0x3d5, 0x33, 0x60, 0x01);
r54 = 0x00; r55 = 0x00; r56 = 0x00; r57 = 0x00;
boutb(4, 0x36, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3a, 0x02, 0x80);
r59 = 0xef; r60 = 0x9a; r61 = 0x00;
boutb(3, 0x3b, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3e, 0x27, 0x00);
r63 = 0x00;
boutb(1, 0x3f, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x0c; r17 = 0x00; r18 = 0x0f; r19 = 0x08;
boutb(20, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x10; r6 = 0x0e; r7 = 0x00; r8 = 0xff; r9 = 0x00;
r10 = 0x00;
boutb(11, 0x00, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0b, 0x40, 0x85);
rmwb(0x3ce, 0x3cf, 0x0c, 0x01, 0x00);
r13 = 0x00;
boutb(1, 0x0d, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0e, 0x60, 0x00);
r16 = 0x00; r17 = 0x00; r18 = 0x00; r19 = 0x00;
boutb(4, 0x10, 0x3ce, 0x3cf);
r21 = 0x10; r22 = 0x0e;
boutb(2, 0x15, 0x3ce, 0x3cf);
outw(0x23c0, 0x2000);
wait(0x23c2, 0x0800, 0x1, 0x64, 0x0);
outw(0x23c0, 0x0000);
/*
* Set Other Registers
*/
outw(0x23c2, 0x0000);
outw(0x23c0, 0x0001);
outw(0x23c2, 0x0000);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x410a);
outw(0x23c2, 0x519e);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c2, 0x9000);
outw(0x23c2, 0xa000);
outw(0x23c2, 0xb000);
outw(0x23c2, 0xc000);
outw(0x23c2, 0xd000);
outw(0x23c2, 0xe000);
outw(0x23c0, 0x0102);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x4000);
outw(0x23c2, 0x5000);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c0, 0x0002);
outw(0x23c2, 0x0000);
outw(0x23c8, 0x0000);
outw(0x23ca, 0x0000);
outw(0x23cc, 0x0000);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x6f);
[comment]
Text Mode: 132 cols, 44 rows.
[ModeInfo]
ModeAttributes = 0x08
BytesPerScanLine = 132
XResolution = 1188
YResolution = 396
XCharSize = 9
YCharSize = 9
TextRows = 44
BitsPerPixel = 4
NumberOfPlanes = 1
PageLength = 11616
SaveSize = 11616
TotalMemory = 1048576
InterlaceMode = 0
BufferAddress = 0x0b8000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04, 0x06-0x09, 0x10-0x12, 0x20-0x29, 0x31-0x36;
0x3c5;
0x3d4, 0x00-0x18, 0x27-0x27, 0x29-0x2f, 0x31-0x3f;
0x3d5;
0x3c0, 0x00-0x13;
0x3c1;
0x3ce, 0x00-0x13, 0x15-0x16;
0x3cf;
0x23c0;
0x23c2;
0x23c8;
0x23ca;
0x23cc;
0x3b4;
0x3b5;
[SetMode]
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x63);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x03; r3 = 0x00; r4 = 0x02;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
r7 = 0x09; r8 = 0x00; r9 = 0x00;
boutb(3, 0x07, 0x3c4, 0x3c5);
r16 = 0xc1; r17 = 0x65; r18 = 0x00;
boutb(3, 0x10, 0x3c4, 0x3c5);
r32 = 0x00;
boutb(1, 0x20, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x21, 0x07, 0x00);
r34 = 0x00; r35 = 0x00; r36 = 0xa0; r37 = 0x00; r38 = 0x00;
r39 = 0x00; r40 = 0x00;
boutb(7, 0x22, 0x3c4, 0x3c5);
rmwb(0x3c4, 0x3c5, 0x29, 0x04, 0x00);
rmwb(0x3c4, 0x3c5, 0x31, 0x00, 0x14);
rmwb(0x3c4, 0x3c5, 0x32, 0xff, 0x00);
r51 = 0x00; r52 = 0x00;
boutb(2, 0x33, 0x3c4, 0x3c5);
r54 = 0x00;
boutb(1, 0x36, 0x3c4, 0x3c5);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x9c; r1 = 0x83; r2 = 0x84; r3 = 0x9f; r4 = 0x8a;
r5 = 0x1c; r6 = 0xbf; r7 = 0x1f; r8 = 0x00; r9 = 0x48;
r10 = 0x07; r11 = 0x08; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0x96; r17 = 0x88; r18 = 0x82; r19 = 0x42;
r20 = 0x1f; r21 = 0x89; r22 = 0xb9; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x2a, 0x05, 0x90);
rmwb(0x3d4, 0x3d5, 0x2b, 0xff, 0x00);
r44 = 0x00; r45 = 0x00; r46 = 0x04; r47 = 0x00;
boutb(4, 0x2c, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x31, 0x87, 0x00);
rmwb(0x3d4, 0x3d5, 0x32, 0x30, 0x44);
rmwb(0x3d4, 0x3d5, 0x33, 0x60, 0x01);
r54 = 0x00; r55 = 0x00; r56 = 0x00; r57 = 0x00;
boutb(4, 0x36, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3a, 0x02, 0x80);
r59 = 0xef; r60 = 0x9a; r61 = 0x00;
boutb(3, 0x3b, 0x3d4, 0x3d5);
rmwb(0x3d4, 0x3d5, 0x3e, 0x27, 0x00);
r63 = 0x00;
boutb(1, 0x3f, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x0c; r17 = 0x00; r18 = 0x0f; r19 = 0x08;
boutb(20, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x10; r6 = 0x0e; r7 = 0x00; r8 = 0xff; r9 = 0x00;
r10 = 0x00;
boutb(11, 0x00, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0b, 0x40, 0x85);
rmwb(0x3ce, 0x3cf, 0x0c, 0x01, 0x00);
r13 = 0x00;
boutb(1, 0x0d, 0x3ce, 0x3cf);
rmwb(0x3ce, 0x3cf, 0x0e, 0x60, 0x00);
r16 = 0x00; r17 = 0x00; r18 = 0x00; r19 = 0x00;
boutb(4, 0x10, 0x3ce, 0x3cf);
r21 = 0x10; r22 = 0x0e;
boutb(2, 0x15, 0x3ce, 0x3cf);
outw(0x23c0, 0x2000);
wait(0x23c2, 0x0800, 0x1, 0x64, 0x0);
outw(0x23c0, 0x0000);
/*
* Set Other Registers
*/
outw(0x23c2, 0x0000);
outw(0x23c0, 0x0001);
outw(0x23c2, 0x0000);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x410a);
outw(0x23c2, 0x519e);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c2, 0x9000);
outw(0x23c2, 0xa000);
outw(0x23c2, 0xb000);
outw(0x23c2, 0xc000);
outw(0x23c2, 0xd000);
outw(0x23c2, 0xe000);
outw(0x23c0, 0x0102);
outw(0x23c2, 0x1000);
outw(0x23c2, 0x2000);
outw(0x23c2, 0x3000);
outw(0x23c2, 0x4000);
outw(0x23c2, 0x5000);
outw(0x23c2, 0x6000);
outw(0x23c2, 0x7000);
outw(0x23c2, 0x8000);
outw(0x23c0, 0x0002);
outw(0x23c2, 0x0000);
outw(0x23c8, 0x0000);
outw(0x23ca, 0x0000);
outw(0x23cc, 0x0000);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x6f);